More and more of the information that is used by humans is accessed via the Internet. Traditionally, much information has been presented via a static web page that is viewed using a web browser, such as MICROSOFT INTERNET EXPLORER or FIREFOX. A static web page (sometimes called a flat page/stationary page) is a web page that is delivered to the user exactly as stored. As a result, a static web page displays the same information for all users and from all contexts. Static web pages are typically hypertext markup language (“HTML”) documents stored as files in the file system and made available by the web server computer over hypertext transfer protocol (“HTTP”). In some cases, cascading style sheets (“CSS”) can be employed in conjunction with the HTML documents to modify the presentation of the fixed information. As the information is embedded in the static web pages, as well as some representation of the style in which the information is to be presented, a change in either the information or the presentation format requires modification of the static web pages. Further, a new static web page must be generated for each new set of information to be presented.
More recently, dynamic web pages that present information in a more flexible manner have become more prevalent. The information is generally injected into the page and the page's behavior is controllable by the server computer serving the page and/or by the client viewing the page.
A program running on the server computer can be used to change the content of the web pages, adjust their sequence, or their reloading. The server computer can use various inputs in selecting and infusing web pages delivered to a client with information and behavior. The inputs can include, for example, data in a posted HTML form (i.e., data returned with the request for the web page), parameters in the uniform resource locator (“URL”), the type of browser being used, the passage of time, or a database or server state (i.e., the data stored therein). Such web pages are typically created using server-side languages, such as Active Server Page (“ASP”), Personal Home Page (“PHP”), and Ruby.
The information and/or behavior may also be modified client-side, such as in response to mouse or keyboard actions, or at specified timing events. The dynamic behavior can occur within the presentation of a web page that uses a client-side scripting language, such as JAVASCRIPT or ActionScript. These client-side scripting languages enable the control of media types, such as sounds, animations, changing text, etc. Such scripting also enables additional information to be retrieved from the server computer and presented in a web page without reloading the web page.
Asynchronous JavaScript and XML (“AJAX”) is a web development methodology for dynamically exchanging data with a server computer. Using this technique, the client sends a request for data from the server computer, and formats the data returned by the server computer via a client side script. This enables only those portions of a web page that change to be loaded from a server computer instead of reloading the entire page when changes in the information occur.
In each of these cases, the development of a dynamic web page generally requires knowledge of the scripting languages and markup languages employed, programmatic data linking, and programmatic event handling. The intermingled presence of both scripting languages and markup languages in the same source document complicates the job of both developers and development tools.
Further, the inputs are received in a variety of formats. These formats differ from the format of the HTML page that is generated. As a result, the inputs require translation into HTML format. Some of the predefined methods for presenting such data from other sources can be limited. Still further, such programmatic data connections create dependencies between the program structure and the format of the data being retrieved. This makes it hard to modify the output format of the data as a change in the data must be matched by a corresponding change in the program code.
Pages and/or applications that have to dynamically respond to user data require the addition of another layer of scripting language, further complicating the job of authors and tools. As a result, pages are frequently far less dynamic and responsive than would be optimal for their intended purpose. Additionally, web page designers who have the most experience and ability to create a useable experience often do not have access or ability to affect the changes they desire.
Another approach to delivering web pages is to transform data in an extensible markup language (“XML”) document using Extensible Stylesheet Language Transformations (“XSLT”) into another document. These transformations are performed either server-side or client-side by an XSLT processor. The XSLT processor takes one or more source XML documents, plus one or more XSLT stylesheet modules, and processes them to produce an output document. The XSLT stylesheet contains a collection of template rules: instructions and other directives that guide the processor in the production of the output document. The source XML document could include, for example, the result data from an SQL query. The resulting document can be in any of a variety of formats, including XML, HTML, etc. During a transformation, the data from the source XML document is read in and transformed, and neither the source XML data nor the XSLT are thereafter accessible on the client side (i.e., at the web browser). Once the transformation by the XSLT processor is completed, the data within the original source XML document is no longer accessible. XSLT also typically combines more than one markup languages in a single document with the potential for author and tool confusion.
It is therefore an object of the invention to provide a novel method and system for generating a view.